ATOM Documentation

← Back to App

ATUM SaaS - QA Test Document

**Document Version:** 1.0

**Last Updated:** 2026-03-06

**Platform:** ATUM SaaS - AI Workforce Platform

---

Test Case Legend

ColumnDescription
**Test ID**Unique test case identifier
**Feature**Feature or component being tested
**Test Case**Description of what is being tested
**Test Steps**Step-by-step instructions to execute the test
**Expected Result**Expected outcome if test passes
**Priority**P0 (Critical), P1 (High), P2 (Medium), P3 (Low)
**Type**Functional, Integration, E2E, Security, Performance

---

Table of Contents

  1. Authentication & Authorization
  2. Agent Management
  3. Multi-Tenancy
  4. Canvas System
  5. Brain Systems
  6. Integrations
  7. Sales & CRM
  8. Security & Governance
  9. Package Management
  10. Billing & Pricing
  11. Admin & Monitoring
  12. Dashboard & Analytics
  13. Marketplace
  14. Settings & Configuration

---

1. Authentication & Authorization

Test IDFeatureTest CaseTest StepsExpected ResultPriorityType
AUTH-001User SignupVerify new user can sign up with valid credentials1. Navigate to /auth/signup<br>2. Enter valid email, password, and confirm password<br>3. Click "Sign Up"<br>4. Check email for verification linkUser account created, verification email sent, redirect to verification pageP0Functional
AUTH-002User SignupVerify password validation during signup1. Navigate to /auth/signup<br>2. Enter email with weak password (less than 8 chars)<br>3. Click "Sign Up"Error message displayed: "Password must be at least 8 characters"P0Functional
AUTH-003User SignupVerify email uniqueness validation1. Navigate to /auth/signup<br>2. Enter already registered email<br>3. Click "Sign Up"Error message: "Email already registered"P1Functional
AUTH-004User LoginVerify user can login with valid credentials1. Navigate to /auth/signin<br>2. Enter registered email and password<br>3. Click "Sign In"User redirected to dashboard, session establishedP0Functional
AUTH-005User LoginVerify login fails with invalid credentials1. Navigate to /auth/signin<br>2. Enter invalid email/password<br>3. Click "Sign In"Error message: "Invalid credentials"P1Functional
AUTH-006Email VerificationVerify email verification link works1. Click verification link from email<br>2. Wait for redirectEmail verified, user redirected to dashboard with success messageP0Functional
AUTH-007Password ResetVerify password reset request1. Navigate to /auth/signin<br>2. Click "Forgot Password"<br>3. Enter registered email<br>4. Click "Send Reset Link"Password reset email sent, confirmation message displayedP1Functional
AUTH-0082FA SetupVerify 2FA can be enabled1. Navigate to /settings/security<br>2. Click "Enable 2FA"<br>3. Scan QR code with authenticator app<br>4. Enter verification code2FA enabled successfully, backup codes providedP1Security
AUTH-0092FA LoginVerify login requires 2FA code when enabled1. Login with email/password<br>2. Enter 2FA code from authenticatorAccess granted after valid 2FA codeP1Security
AUTH-010SSO LoginVerify SSO login with Google OAuth1. Navigate to /auth/sso<br>2. Click "Sign in with Google"<br>3. Authorize with Google accountUser logged in, account created/linkedP1Integration
AUTH-011Session ManagementVerify session persists across page refreshes1. Login to application<br>2. Refresh pageUser remains logged in, session data preservedP1Functional
AUTH-012Session ExpiryVerify session expires after inactivity1. Login to application<br>2. Wait for session timeout (30 min)<br>3. Perform any actionRedirected to login page with "Session expired" messageP1Security
AUTH-013LogoutVerify user can logout successfully1. Click logout button<br>2. Confirm logoutSession cleared, redirected to login pageP0Functional
AUTH-014Admin Key BypassVerify admin key bypasses auth for testing1. Add X-Admin-Key header to request<br>2. Call protected endpointAccess granted without standard authP1Security

---

2. Agent Management

Test IDFeatureTest CaseTest StepsExpected ResultPriorityType
AGENT-001Agent CreationVerify new agent can be created1. Navigate to /agents/new<br>2. Enter agent name, role, description<br>3. Select maturity level<br>4. Click "Create Agent"Agent created, added to agent listP0Functional
AGENT-002Agent CreationVerify agent name uniqueness1. Navigate to /agents/new<br>2. Enter name of existing agent<br>3. Click "Create Agent"Error: "Agent name already exists"P1Functional
AGENT-003Agent CreationVerify all maturity levels available1. Navigate to /agents/new<br>2. Check maturity level dropdownOptions: Student, Intern, Supervised, AutonomousP1Functional
AGENT-004Agent EditingVerify agent details can be edited1. Navigate to /agents<br>2. Click edit on existing agent<br>3. Update name, role, or description<br>4. Save changesChanges saved and reflected in agent detailsP1Functional
AGENT-005Agent DeletionVerify agent can be deleted1. Navigate to /agents<br>2. Click delete on agent<br>3. Confirm deletionAgent removed from list, associated data archivedP1Functional
AGENT-006Agent ExecutionVerify student agent can perform read-only tasks1. Create agent with Student maturity<br>2. Assign search task<br>3. Execute taskTask completes with search resultsP0Functional
AGENT-007Agent ExecutionVerify student agent blocked from write operations1. Create agent with Student maturity<br>2. Assign task requiring data modification<br>3. Execute taskError: "Insufficient permissions for this operation"P0Security
AGENT-008Agent ExecutionVerify intern agent requires approval for actions1. Create agent with Intern maturity<br>2. Assign action task<br>3. Execute taskProposal created, approval requiredP0Functional
AGENT-009Agent ExecutionVerify supervised agent queues when unavailable1. Create agent with Supervised maturity<br>2. Set user availability to offline<br>3. Assign taskTask queued, notification sent when user availableP0Functional
AGENT-010Agent ExecutionVerify autonomous agent can execute independently1. Create agent with Autonomous maturity<br>2. Assign complex task<br>3. Execute taskTask completes without human interventionP0Functional
AGENT-011Agent LimitsVerify free tier limited to 3 agents1. Create 3 agents on free tier<br>2. Attempt to create 4th agentError: "Agent limit reached. Upgrade to create more agents."P1Functional
AGENT-012Agent LimitsVerify solo tier allows 10 agents1. Upgrade to Solo tier<br>2. Create up to 10 agentsAll 10 agents created successfullyP1Functional
AGENT-013Agent HistoryVerify agent execution history is tracked1. Execute agent task<br>2. Navigate to agent history<br>3. View execution logTask logged with timestamp, inputs, outputs, statusP1Functional
AGENT-014Agent TerminalVerify live agent terminal works1. Navigate to agent studio<br>2. Open agent terminal<br>3. Execute taskReal-time task output displayed in terminalP1Functional
AGENT-015Agent FeedbackVerify feedback can be submitted for agent actions1. Execute agent task<br>2. Click "Provide Feedback"<br>3. Submit rating and commentsFeedback recorded, agent learning updatedP1Functional
AGENT-016Agent GovernanceVerify governance rules enforced1. Create governance rule restricting action type<br>2. Attempt restricted action with agentAction blocked by governanceP1Security

---

3. Multi-Tenancy

Test IDFeatureTest CaseTest StepsExpected ResultPriorityType
MT-001Tenant IsolationVerify tenants cannot access each other's data1. Login as tenant A user<br>2. Note tenant ID in URL<br>3. Attempt to access tenant B data via API403 Forbidden or 404 Not FoundP0Security
MT-002Tenant IsolationVerify agents filtered by tenant_id1. Create agents in two different tenants<br>2. Query agents APIEach tenant only sees their own agentsP0Security
MT-003Subdomain RoutingVerify subdomain routing works correctly1. Navigate to tenant-a.atom-saas.fly.dev<br>2. Check tenant contextCorrect tenant loaded from subdomainP0Functional
MT-004RLSVerify Row-Level Security enforced at DB level1. Direct database query with tenant A credentials<br>2. Query tenant B tablesEmpty result set, RLS policy blocks accessP0Security
MT-005S3 IsolationVerify S3 paths are tenant-specific1. Upload file for tenant A<br>2. Check S3 pathFile stored in s3://atom-saas/{tenant_id}/ pathP0Security
MT-006Redis IsolationVerify Redis keys are tenant-scoped1. Set Redis key for tenant A<br>2. Attempt to read from tenant B contextKey not found, proper namespacing (tenant:{id}:key)P0Security
MT-007Tenant CreationVerify new tenant can be created1. Submit tenant creation request<br>2. Set subdomain, admin emailTenant created, unique subdomain assignedP0Functional
MT-008Tenant InvitationVerify users can be invited to tenant1. Navigate to tenant/invite<br>2. Enter user email<br>3. Select role<br>4. Send invitationInvitation email sent, user added to tenantP1Functional
MT-009Tenant DeletionVerify tenant data is isolated on deletion1. Delete tenant A<br>2. Verify tenant B data intactOnly tenant A data removed, tenant B unaffectedP1Functional

---

4. Canvas System

Test IDFeatureTest CaseTest StepsExpected ResultPriorityType
CV-001Canvas BrowserVerify browser canvas can navigate websites1. Navigate to /canvas/browser/{id}<br>2. Enter URL in address bar<br>3. Click "Go"Website loads in canvas iframeP0Functional
CV-002Canvas BrowserVerify browser canvas captures DOM1. Load webpage in browser canvas<br>2. Click "Capture DOM"<br>3. Check captured dataPage DOM structure captured and storedP1Functional
CV-003Canvas CodingVerify code execution canvas works1. Navigate to /canvas/coding/{id}<br>2. Write Python code<br>3. Click "Execute"Code executes, output displayedP0Functional
CV-004Canvas CodingVerify code execution is isolated1. Execute code accessing filesystem<br>2. Check resultAccess denied or isolated environmentP1Security
CV-005Canvas EmailVerify email canvas can read emails1. Navigate to /canvas/email/{id}<br>2. Connect email account<br>3. Load emailsEmail list displayed in canvasP1Functional
CV-006Canvas EmailVerify email canvas can compose emails1. Open email canvas<br>2. Click "Compose"<br>3. Enter recipient, subject, body<br>4. Click "Send"Email sent successfullyP1Functional
CV-007Canvas SpreadsheetVerify spreadsheet canvas can load CSV1. Navigate to /canvas/spreadsheet/{id}<br>2. Upload CSV file<br>3. Click "Load"Data displayed in spreadsheet formatP1Functional
CV-008Canvas SpreadsheetVerify spreadsheet can execute formulas1. Load data in spreadsheet canvas<br>2. Add formula cell (e.g., =SUM(A1:A10))<br>3. Check resultFormula calculated correctlyP1Functional
CV-009Canvas TerminalVerify terminal canvas can execute commands1. Navigate to /canvas/terminal/{id}<br>2. Enter shell command<br>3. Press EnterCommand executes, output displayedP1Functional
CV-010Canvas TerminalVerify terminal is rate-limited1. Execute multiple commands rapidly<br>2. Check rate limitRate limit enforced after thresholdP1Security
CV-011Canvas PersistenceVerify canvas state is saved1. Open canvas, make changes<br>2. Close canvas<br>3. Reopen canvasChanges restored from previous stateP1Functional
CV-012Canvas SharingVerify canvas can be shared with users1. Open canvas<br>2. Click "Share"<br>3. Add user email<br>4. Set permissionsUser granted access to canvasP1Functional
CV-013Canvas AuditVerify canvas actions are audited1. Perform action in canvas<br>2. Check audit logsAction logged with timestamp, user, canvas IDP1Security
CV-014Canvas IntegrationVerify canvas can integrate with skills1. Open canvas<br>2. Browse skill marketplace<br>3. Install skill<br>4. Use skill in canvasSkill functionality available in canvasP1Integration

---

5. Brain Systems

Test IDFeatureTest CaseTest StepsExpected ResultPriorityType
BR-001Cognitive ArchitectureVerify cognitive architecture initializes agent1. Create new agent<br>2. Call cognitive architecture initialize<br>3. Check agent stateAgent initialized with reasoning, memory, attentionP0Functional
BR-002Cognitive ArchitectureVerify reasoning process generates decisions1. Initialize agent with cognitive architecture<br>2. Submit task<br>3. Call reasoning functionDecision returned with rationaleP1Functional
BR-003World ModelVerify experiences are recorded1. Execute agent task<br>2. Check world model storageExperience stored with agent_id, task_type, outcomeP0Functional
BR-004World ModelVerify semantic search retrieves relevant experiences1. Record multiple experiences<br>2. Search by task description<br>3. Check resultsRelevant experiences returned ranked by similarityP1Functional
BR-005World ModelVerify world model respects tenant isolation1. Record experience for tenant A<br>2. Search from tenant BNo results returned, proper isolationP0Security
BR-006Learning EngineVerify patterns are learned from experiences1. Record multiple similar experiences<br>2. Generate adaptations<br>3. Check learned patternsPatterns identified and adaptations suggestedP1Functional
BR-007Learning EngineVerify RLHF improves agent performance1. Submit feedback on agent actions<br>2. Execute similar task<br>3. Check performancePerformance improves based on feedbackP1Functional
BR-008Reasoning EngineVerify proactive interventions triggered1. Set reasoning rule for opportunity<br>2. Trigger condition<br>3. Check interventionsIntervention generated with URGENT/OPPORTUNITY/AUTOMATION typeP1Functional
BR-009Cross-System ReasoningVerify data correlation across integrations1. Connect Salesforce and Slack integrations<br>2. Trigger cross-system reasoning<br>3. Check correlationsCorrelated insights from both systemsP2Functional
BR-010Episodic MemoryVerify episodes capture context1. Execute agent task<br>2. Check episode recordEpisode stored with task, context, outcomeP0Functional
BR-011Graduation SystemVerify readiness score calculated correctly1. Execute agent tasks<br>2. Check readiness scoreScore = zero_intervention_ratio*0.4 + constitutional_score*0.3 + confidence_score*0.2 + success_rate*0.1P0Functional
BR-012Graduation SystemVerify student promotes to intern at 70%1. Achieve 70% readiness with student agent<br>2. Check maturity levelAgent promoted to internP0Functional
BR-013Graduation SystemVerify intern promotes to supervised at 80%1. Achieve 80% readiness with intern agent<br>2. Check maturity levelAgent promoted to supervisedP0Functional
BR-014Graduation SystemVerify supervised promotes to autonomous at 95%1. Achieve 95% readiness with supervised agent<br>2. Check maturity levelAgent promoted to autonomousP0Functional
BR-015Episode FeedbackVerify feedback can be submitted for episodes1. Navigate to episode<br>2. Submit rating (0-1) and comments<br>3. Check feedback recordFeedback stored, used for RLHFP1Functional

---

6. Integrations

Test IDFeatureTest CaseTest StepsExpected ResultPriorityType
INT-001OAuth FlowVerify OAuth authorization flow1. Navigate to integrations<br>2. Click "Connect" on any integration<br>3. Authorize on provider site<br>4. Wait for redirectIntegration connected, OAuth token storedP0Integration
INT-002OAuth FlowVerify OAuth token is refreshed1. Connect OAuth integration<br>2. Wait for token to approach expiry<br>3. Make API callToken refreshed automatically, call succeedsP1Integration
INT-003OAuth FlowVerify OAuth can be disconnected1. Navigate to integrations<br>2. Click "Disconnect" on connected integrationIntegration disconnected, tokens removedP1Functional
INT-004SalesforceVerify Salesforce can fetch contacts1. Connect Salesforce integration<br>2. Click "Fetch Contacts"<br>3. Check resultsContacts displayed from SalesforceP1Integration
INT-005SalesforceVerify Salesforce can create lead1. Connect Salesforce integration<br>2. Submit new lead data<br>3. Verify in SalesforceLead created in SalesforceP1Integration
INT-006SlackVerify Slack can send message1. Connect Slack integration<br>2. Compose message<br>3. Select channel<br>4. SendMessage posted to Slack channelP1Integration
INT-007SlackVerify Slack can read messages1. Connect Slack integration<br>2. Select channel<br>3. Click "Fetch Messages"Recent messages displayedP1Integration
INT-008Google DriveVerify Google Drive can list files1. Connect Google Drive<br>2. Navigate to files section<br>3. Click "Refresh"Files listed from Google DriveP1Integration
INT-009Google DriveVerify Google Drive can upload file1. Connect Google Drive<br>2. Select file to upload<br>3. Click "Upload"File uploaded to Google DriveP1Integration
INT-010HubSpotVerify HubSpot can fetch deals1. Connect HubSpot integration<br>2. Navigate to deals<br>3. Click "Sync"Deals imported from HubSpotP1Integration
INT-011GitHubVerify GitHub can fetch repositories1. Connect GitHub integration<br>2. Navigate to repos<br>3. Click "Load Repos"Repositories listed from GitHubP2Integration
INT-012WebhooksVerify webhooks receive external events1. Configure webhook URL<br>2. Trigger event from external system<br>3. Check webhook logEvent received and loggedP1Integration
INT-013Integration HubVerify all 39+ integrations listed1. Navigate to /integrations<br>2. Check integration countAll available integrations displayedP2Functional
INT-014Integration HealthVerify integration health status displayed1. Navigate to integrations<br>2. Check connection statusStatus shows: Connected/Disconnected/ErrorP1Functional

---

7. Sales & CRM

Test IDFeatureTest CaseTest StepsExpected ResultPriorityType
SALES-001Lead ManagementVerify lead can be created1. Navigate to sales section<br>2. Click "New Lead"<br>3. Enter lead details<br>4. SaveLead created and added to listP0Functional
SALES-002Lead ManagementVerify lead can be updated1. Open existing lead<br>2. Update lead status or details<br>3. Save changesChanges saved and reflectedP1Functional
SALES-003Lead ManagementVerify lead can be deleted1. Open existing lead<br>2. Click "Delete"<br>3. ConfirmLead removed from listP1Functional
SALES-004Lead ScoringVerify leads are automatically scored1. Create new lead<br>2. Wait for scoring process<br>3. Check lead scoreScore assigned based on lead criteriaP1Functional
SALES-005Sales IntelligenceVerify insights are generated for leads1. Navigate to sales intelligence<br>2. Select lead<br>3. Check insightsInsights displayed based on lead data and integrationsP1Functional
SALES-006Sales DashboardVerify dashboard displays key metrics1. Navigate to sales dashboard<br>2. Check metricsTotal leads, conversion rate, revenue shownP1Functional
SALES-007Sales DashboardVerify dashboard filters work1. Apply date range filter<br>2. Apply status filter<br>3. Check dataDashboard updates with filtered dataP1Functional
SALES-008Sales AutomationVerify agent can automate sales tasks1. Create sales automation rule<br>2. Trigger condition<br>3. Check agent actionAgent executes automated sales taskP1Functional

---

8. Security & Governance

Test IDFeatureTest CaseTest StepsExpected ResultPriorityType
SEC-001Rate LimitingVerify rate limit enforced on API1. Make rapid requests to API endpoint<br>2. Check response after threshold429 Too Many Requests returnedP0Security
SEC-002Rate LimitingVerify rate limit is per-tenant1. Make requests from tenant A<br>2. Make requests from tenant B<br>3. Check limitsEach tenant has independent rate limitP0Security
SEC-003Agent GovernanceVerify governance rules block unauthorized actions1. Create governance rule blocking data deletion<br>2. Attempt deletion with agentAction blocked, rule violation loggedP0Security
SEC-004Agent GovernanceVerify governance logs are auditable1. Check governance audit logs<br>2. Filter by agent, action, dateAll governance decisions logged with timestampsP1Security
SEC-005BYOKVerify tenant can provide own API key1. Navigate to /settings/security<br>2. Enter OpenAI API key<br>3. SaveKey encrypted and stored in tenant_settingsP1Security
SEC-006BYOKVerify tenant API key is used for embeddings1. Set tenant API key<br>2. Perform action requiring embeddings<br>3. Check API usageTenant's key used, not platform keyP1Security
SEC-007Audit LoggingVerify all user actions are logged1. Perform any action (create agent, etc.)<br>2. Check audit logsAction logged with user, timestamp, detailsP0Security
SEC-008Audit LoggingVerify audit logs are tamper-proof1. Attempt to modify audit log entry<br>2. Check resultModification denied or loggedP1Security
SEC-009RBACVerify role-based access control works1. Create user with Viewer role<br>2. Attempt admin actionAccess denied, 403 ForbiddenP0Security
SEC-010RBACVerify permissions can be customized1. Create custom role<br>2. Assign specific permissions<br>3. Assign to user<br>4. Test accessUser has exactly assigned permissionsP1Functional
SEC-011Data EncryptionVerify sensitive data encrypted at rest1. Check database for API keys<br>2. Check S3 for sensitive filesData encrypted, not plaintextP0Security
SEC-012Data EncryptionVerify data encrypted in transit1. Check API connection<br>2. Check database connectionTLS/SSL enforcedP0Security

---

9. Package Management

Test IDFeatureTest CaseTest StepsExpected ResultPriorityType
PKG-001Python WhitelistVerify approved package can be installed1. Request installation of whitelisted package<br>2. Check installationPackage installed successfullyP1Functional
PKG-002Python WhitelistVerify non-whitelisted package blocked1. Request installation of non-whitelisted package<br>2. Check resultInstallation blocked, approval requestedP0Security
PKG-003Python WhitelistVerify vulnerability scan runs on install1. Install whitelisted package<br>2. Check scan resultspip-audit or Snyk scan executedP1Security
PKG-004Python WhitelistVerify vulnerable package version blocked1. Attempt to install package with known vulnerability<br>2. Check resultInstallation blocked, vulnerability reportedP0Security
PKG-005NPM IntegrationVerify NPM package can be installed1. Request NPM package installation<br>2. Check resultPackage installed in Docker containerP1Functional
PKG-006NPM IntegrationVerify NPM audit runs on install1. Install NPM package<br>2. Check audit resultsnpm audit executed, vulnerabilities reportedP1Security
PKG-007Package IsolationVerify packages isolated per skill1. Install package for skill A<br>2. Check skill B environmentPackage not available to skill BP1Security
PKG-008Package ApprovalVerify admin can approve package1. Navigate to package whitelist<br>2. Submit package for approval<br>3. Admin approves<br>4. Install packagePackage added to whitelist, installation succeedsP1Functional
PKG-009postinstall ProtectionVerify malicious postinstall blocked1. Attempt package with suspicious postinstall<br>2. Check executionpostinstall executed in isolated containerP0Security

---

10. Billing & Pricing

Test IDFeatureTest CaseTest StepsExpected ResultPriorityType
BILL-001Pricing TiersVerify all 4 tiers available1. Navigate to /settings/billing<br>2. Check upgrade optionsFree, Solo ($19), Team ($79), Enterprise ($299) shownP1Functional
BILL-002Usage TrackingVerify agent usage tracked1. Execute agent tasks<br>2. Check usage dashboardTask count incremented, quota updatedP0Functional
BILL-003Usage LimitsVerify free tier limit of 50/day enforced1. Execute 50 agent tasks on free tier<br>2. Attempt 51st taskError: "Daily limit reached"P0Functional
BILL-004Usage LimitsVerify solo tier limit of 500/day1. Upgrade to Solo tier<br>2. Execute 500 agent tasks<br>3. Attempt 501st taskError: "Daily limit reached"P1Functional
BILL-005Billing CycleVerify billing cycle is monthly1. Check billing start date<br>2. Wait one month<br>3. Check invoiceInvoice generated for monthly periodP1Functional
BILL-006Invoice GenerationVerify invoice includes line items1. Navigate to billing<br>2. View latest invoiceInvoice shows: Plan, usage, total amountP1Functional
BILL-007Payment ProcessingVerify payment method can be added1. Navigate to billing<br>2. Click "Add Payment Method"<br>3. Enter card details<br>4. SavePayment method added and verifiedP0Functional
BILL-008Payment ProcessingVerify payment fails with invalid card1. Attempt to add invalid card<br>2. Check resultError: "Invalid payment method"P1Functional
BILL-009Subscription UpgradeVerify upgrade takes effect immediately1. Upgrade from Free to Solo<br>2. Check agent limitLimit increased to 10 agents immediatelyP1Functional
BILL-010Subscription DowngradeVerify downgrade takes effect next cycle1. Downgrade from Team to Solo<br>2. Check current limitsFull Team features until cycle endP1Functional
BILL-011Enterprise PlanVerify enterprise allows unlimited agents1. Subscribe to Enterprise<br>2. Create agents beyond 25No agent limit enforcedP1Functional

---

11. Admin & Monitoring

Test IDFeatureTest CaseTest StepsExpected ResultPriorityType
ADM-001Admin DashboardVerify admin dashboard accessible to admins1. Login as admin user<br>2. Navigate to /adminDashboard loads with admin controlsP0Functional
ADM-002Admin DashboardVerify non-admin cannot access admin dashboard1. Login as regular user<br>2. Navigate to /admin403 Forbidden or redirectP0Security
ADM-003User ManagementVerify admin can view all users1. Navigate to admin/users<br>2. Check user listAll users across tenants displayedP1Functional
ADM-004User ManagementVerify admin can deactivate user1. Select user<br>2. Click "Deactivate"<br>3. ConfirmUser deactivated, cannot loginP1Functional
ADM-005Tenant ManagementVerify admin can view all tenants1. Navigate to admin/tenants<br>2. Check tenant listAll tenants displayed with metricsP1Functional
ADM-006Tenant ManagementVerify admin can suspend tenant1. Select tenant<br>2. Click "Suspend"<br>3. ConfirmTenant suspended, all access blockedP1Functional
ADM-007System HealthVerify health metrics displayed1. Navigate to admin/health<br>2. Check metricsCPU, memory, database, Redis status shownP1Functional
ADM-008System LogsVerify system logs accessible1. Navigate to admin/logs<br>2. Apply filtersLogs displayed with filtering optionsP1Functional
ADM-009Governance PanelVerify governance rules manageable1. Navigate to governance panel<br>2. Create/edit/delete ruleRules CRUD operations workP1Functional
ADM-010Interventions FeedVerify interventions displayed in real-time1. Trigger agent intervention<br>2. Check interventions feedIntervention appears with detailsP1Functional

---

12. Dashboard & Analytics

Test IDFeatureTest CaseTest StepsExpected ResultPriorityType
DASH-001Main DashboardVerify dashboard loads for authenticated user1. Login to application<br>2. Navigate to /dashboardDashboard displays with widgetsP0Functional
DASH-002Main DashboardVerify dashboard shows agent summary1. Check dashboard agents widgetTotal agents, active agents, by maturity shownP1Functional
DASH-003Industry DashboardVerify industry-specific dashboards load1. Navigate to /dashboard/marketing<br>2. Check contentMarketing-specific metrics and tools shownP1Functional
DASH-004Analytics DashboardVerify analytics page displays charts1. Navigate to /analytics<br>2. Check visualizationsCharts for agent performance, usage, etc.P1Functional
DASH-005Analytics DashboardVerify date range filter works1. Select custom date range<br>2. Apply filterCharts update for selected periodP1Functional
DASH-006Analytics DashboardVerify data can be exported1. Click "Export"<br>2. Select format (CSV/JSON)<br>3. DownloadFile downloaded with correct dataP1Functional

---

13. Marketplace

Test IDFeatureTest CaseTest StepsExpected ResultPriorityType
MKT-001Skill MarketplaceVerify marketplace displays skills1. Navigate to /marketplace<br>2. Browse skillsSkills listed with descriptions, ratingsP1Functional
MKT-002Skill MarketplaceVerify skills can be filtered1. Apply filters (category, rating, price)<br>2. Check resultsFiltered skills displayedP1Functional
MKT-003Skill PurchaseVerify free skill can be installed1. Select free skill<br>2. Click "Install"<br>3. ConfirmSkill added to tenant, ready to useP1Functional
MKT-004Skill PurchaseVerify paid skill requires payment1. Select paid skill<br>2. Click "Purchase"<br>3. Check resultPayment flow initiatedP1Functional
MKT-005Skill SubmissionVerify custom skill can be submitted1. Navigate to /canvas-skills/marketplace/submit<br>2. Upload skill<br>3. Enter details<br>4. SubmitSkill submitted for reviewP1Functional
MKT-006Skill RatingVerify skills can be rated1. Use installed skill<br>2. Submit rating and review<br>3. Check marketplaceRating updated, review displayedP1Functional
MKT-007Canvas MarketplaceVerify canvas components can be shared1. Create canvas component<br>2. Submit to marketplace<br>3. Check listingComponent appears in marketplaceP2Functional

---

14. Settings & Configuration

Test IDFeatureTest CaseTest StepsExpected ResultPriorityType
SET-001Account SettingsVerify user profile can be updated1. Navigate to /settings/account<br>2. Update name, email<br>3. SaveChanges saved and reflectedP1Functional
SET-002Account SettingsVerify password can be changed1. Navigate to /settings/account<br>2. Enter current password<br>3. Enter new password<br>4. SavePassword updated, must re-loginP1Functional
SET-003Notification SettingsVerify notification preferences work1. Navigate to /settings/notifications<br>2. Toggle notification types<br>3. SavePreferences saved, notifications updatedP1Functional
SET-004Security SettingsVerify 2FA can be enabled/disabled1. Navigate to /settings/security<br>2. Toggle 2FA<br>3. Follow setup/disable steps2FA status updatedP1Security
SET-005Governance SettingsVerify governance rules can be configured1. Navigate to /settings/governance<br>2. Create rule<br>3. Set conditions<br>4. SaveRule created and enforcedP1Functional
SET-006SSO ConfigurationVerify SSO can be configured1. Navigate to /settings/sso<br>2. Enter SSO provider details<br>3. SaveSSO configuration savedP1Integration
SET-007Role ManagementVerify custom roles can be created1. Navigate to /settings/roles<br>2. Click "New Role"<br>3. Set permissions<br>4. SaveRole created, can assign to usersP1Functional

---

Test Execution Summary

Priority Breakdown

  • **P0 (Critical):** 64 tests - Must pass for release
  • **P1 (High):** 119 tests - Important features
  • **P2 (Medium):** 11 tests - Nice to have
  • **P3 (Low):** 0 tests - Future enhancements

**Total Test Cases:** 194

Type Breakdown

  • **Functional:** 120 tests
  • **Security:** 43 tests
  • **Integration:** 24 tests
  • **Performance:** 0 tests
  • **E2E:** 7 tests

---

Test Coverage Areas

✅ **Covered:**

  • Authentication & Authorization (14 tests)
  • Agent Management (16 tests)
  • Multi-Tenancy (9 tests)
  • Canvas System (14 tests)
  • Brain Systems (15 tests)
  • Integrations (14 tests)
  • Sales & CRM (8 tests)
  • Security & Governance (12 tests)
  • Package Management (9 tests)
  • Billing & Pricing (11 tests)
  • Admin & Monitoring (10 tests)
  • Dashboard & Analytics (6 tests)
  • Marketplace (7 tests)
  • Settings & Configuration (7 tests)

---

Notes for Testers

  1. **Tenant Context:** Always verify tenant_id is properly filtered in all queries
  2. **Governance Checks:** Verify agent maturity levels are enforced for all actions
  3. **Rate Limits:** Check Redis-based rate limiting on all public endpoints
  4. **Brain Systems:** Test cognitive architecture, world model, and learning engine with real scenarios
  5. **Security:** Verify RLS, BYOK, and audit logging on all sensitive operations
  6. **Integration Testing:** Use test accounts for OAuth integrations
  7. **E2E Testing:** Run Playwright tests for critical user flows

---

Test Environment Setup

Required Test Data

  • At least 3 different tenant accounts
  • Admin user and regular users per tenant
  • OAuth test accounts (Google, Slack, Salesforce)
  • Test credit card for billing tests
  • Sample files for upload testing

Test Accounts

  • **Admin:** admin@atom-saas.com / AdminPassword123!
  • **Tenant A User:** tenanta@test.com / TestPassword123!
  • **Tenant B User:** tenantb@test.com / TestPassword123!

Test URLs

  • **Production:** https://atom-saas.fly.dev
  • **Staging:** [Configure if available]
  • **Local:** http://localhost:3000

---

**Document Status:** ✅ Complete

**Ready for Import to Excel:** Yes - All tables use standard markdown format

**Last Review:** 2026-03-06